package jhh.service;

import java.util.ArrayList;
import java.util.List;

import jhh.entity.Jtl;

import org.dom4j.Document;
import org.dom4j.Element;

import utils.Dom4jUtils;

public class JtlReader {
    public List<Jtl> JtlReader(String path){
    	//通过工具类获取document
    	Document document= Dom4jUtils.getDocument(path);
    	Element root=document.getRootElement();
    	List<Element> list=root.elements();
    	List<Jtl> jtllist=new ArrayList<Jtl>();
    	for (Element element : list) {
    		//<httpSample t="4128" lt="207" ts="1461588777317" s="true" lb="163" rc="200" rm="OK" tn="网易 1-2" dt="text" by="749465" ng="3" na="3"/>
    				Jtl jtl=new Jtl();
    				jtl.setT(Integer.parseInt(element.attributeValue("t")));
    				jtl.setLt(Integer.parseInt(element.attributeValue("lt")));
    				jtl.setTs(Long.parseLong(element.attributeValue("ts")));
    				jtl.setS(Boolean.parseBoolean(element.attributeValue("s")));
    				jtl.setLb(element.attributeValue("lb"));
    				jtl.setRc(element.attributeValue("rc"));
    				jtl.setRm(element.attributeValue("rm"));
    				jtl.setTn(element.attributeValue("tn"));
    				jtl.setDt(element.attributeValue("dt"));
    				jtl.setBy(Integer.parseInt(element.attributeValue("by")));
    				jtl.setNg(Integer.parseInt(element.attributeValue("ng")));
    				jtl.setNa(Integer.parseInt(element.attributeValue("na")));
    				if(jtl.isS()==true&&(element.elements().size()==0)){
    					jtl.setResult(true);
    				}else if(jtl.isS()&&(element.elements().size()!=0)){
    					jtl.setResult(false);
    					Element ele=(Element) element.elements("httpSample").get(1);
    					String str=ele.attributeValue("lb");
    					jtl.setJtlInfo("测试网站被重定位到"+str+"而不是预期网站，测试失败");
    				}else{
    					jtl.setResult(false);
    					jtl.setJtlInfo(jtl.getRm());
    				}
    				jtllist.add(jtl);
    			
    			}
    	return jtllist;
    }
}
